# @tf.function 使用名为 AutoGraph 的机制将函数中的 Python 控制流语句转换成 TensorFlow 计算图中的对应节点。
#
#
# 以下是一个示例，使用 tf.autograph 模块的低层 API tf.autograph.to_code 将函数 square_if_positive 转换成 TensorFlow 计算图：
import tensorflow as tf


@tf.function
def square_if_positive(x):
    if x > 0:
        x = x * x
    else:
        x = 0
    return x


a = tf.constant(1)
b = tf.constant(-1)
print(square_if_positive(a), square_if_positive(b))

# 使用 tf.autograph 模块的低层 API tf.autograph.to_code 将函数 square_if_positive 转换成 TensorFlow 计算图:
# 需要有 @tf.function 注解
print(tf.autograph.to_code(square_if_positive.python_function))
